Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOCA] compile xlio with doca #147

Merged

Conversation

vialogi
Copy link
Contributor

@vialogi vialogi commented May 11, 2024

Description

We add DOCA compilation to CI

What

Prepare containers for DOCA compilation, checkout DOCA SDK and do compilation

Why ?

PR# 138 performs basic DOCA operations, so it is possible that when more DOCA functionality is added to XLIO, other DOCA compilation issues will arise.

How ?

Change type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Tests
  • Other

Check list

  • Code follows the style de facto guidelines of this project
  • Comments have been inserted in hard to understand places
  • Documentation has been updated (if necessary)
  • Test has been added (if possible)

@vialogi vialogi changed the base branch from master to doca_xlio May 11, 2024 14:41
@vialogi vialogi changed the base branch from doca_xlio to vNext May 11, 2024 14:42
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 2 times, most recently from 3dbd4ee to 1a87fd0 Compare May 11, 2024 17:57
@AlexanderGrissik
Copy link
Collaborator

Please target the PR to doca_xlio branch. It is currently the doca branch.

@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 2 times, most recently from a290b4c to 345a478 Compare May 14, 2024 13:03
@vialogi vialogi changed the base branch from vNext to doca_xlio May 14, 2024 13:20
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 22 times, most recently from 6f56292 to 0f64702 Compare May 16, 2024 15:06
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 2 times, most recently from f260b78 to 43508ee Compare July 15, 2024 16:41
@dpressle dpressle changed the title issue HPCINFRA-1968: DOCA compilation in CI [DOCA] compile xlio with doca Jul 16, 2024
…upport

DOCA requires some extra packages from specific repo to make compilation possible

In this commit we're:
- determine the platform we're running on
- adding DOCA packages repo in container image
- installing dependencies
- setting up swx-jenkins user which have access to DOCA repo in Gerrit

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 4 times, most recently from d83bf87 to 0b5923e Compare July 16, 2024 09:50
@vialogi vialogi requested a review from dpressle July 16, 2024 09:51
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch from 0b5923e to 10f4359 Compare July 16, 2024 14:42
We're requested to provide DOCA libs and binaries compiled and installed prior to XLIO compilation.
We're going to enable DOCA compilation the same way we do for DPCP compilation: by adding do_compile_doca() function in globals.sh

do_compile_doca() does the following:
- checks out DOCA SDK source code
- prepares the environment
- compilation & installation
- returns DOCA installation path so it can be used as "--with-doca" parameter for XLIO

DOCA/DPCP compilation is not required in static tests containers (cppcheck, csbuild).
COMPILE_DOCA and COMPILE_DPCP variables have been added to control this

contrib/test_jenkins.sh was updated to check COMPILE_DOCA and COMPILE_DPCP vars and to call compile_doca() and do_check_dpcp() if true

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch from 10f4359 to 1f2ae45 Compare July 16, 2024 15:05
@vialogi
Copy link
Contributor Author

vialogi commented Jul 16, 2024

bot:retest

@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 2 times, most recently from 5730113 to cfc4ab1 Compare July 17, 2024 07:20
…ependent tests

The HW-dependent tests (Gtest, Test, Valgrind) require some env customizatoin, to run with DOCA:

- mounting hugetlbfs from host machine to solve "EAL: FATAL: Cannot get hugepage information"
- checking available 2MB hugepages
- applying patch from Alex Grissik, solving the "Multiprocess is not supported" in DOCA (DPDK)
- fixing platform typo in config/m4/doca.m4

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
… IP / default GW

Many Gtest failures were caused by inability of XLIO to determine remote IP / default GW in containerized environment.
This was caused, in its turn, by early log messages, that were posted to stdout during XLIO initialization

The fix, applied by this commit redirects XLIO early log message from stdout to stderr (printf() -> fprintf() in vlogger.cpp), which allows XLIO to determine default GW correctly

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch from cfc4ab1 to 7c0e610 Compare July 17, 2024 07:41
Gtest step is disabled until Oct'24 release, Jira HPCINFRA-1968, RM #3981627, #3981654

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
We're running compiler.sh in Ubuntu22.04, where there is a problem using module files, created for RHEL/CentOS
For now, to make things working we install all the required compilers inside container:

- Install all required compilers inside comtainer rather than connecting modules
- Use update-alternatives to switch between compilers
- Update matrix_job.yaml with toolbox target for docker build

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
- Remove 3 attempts loop
- Make sure the do_archive call takes place and not being skipped

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch from 7c0e610 to 202d88a Compare July 17, 2024 09:31
@dpressle
Copy link
Collaborator

bot:retest

Copy link
Collaborator

@dpressle dpressle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please remove the BD debug commit, we want to merge this PR and its not related

@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch from 7a53843 to 202d88a Compare July 18, 2024 06:43
@dpressle
Copy link
Collaborator

bot:retest

@AlexanderGrissik AlexanderGrissik merged commit debb350 into Mellanox:doca_xlio Jul 18, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants